The 20 Games Challenge
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Super Monkey Ball

Super Monkey Ball is a physics-based platformer from 2001. Monkey Ball started as an arcade unit, but the game was brought to the GameCube (and had the “Super” added to the name). The game was a unique combination of first-person play and physics-based control.

Instead of controlling the character directly, the player would change the slope of the level, causing the ball to roll around. Super Monkey Ball came with multiple race modes and mini-games. Some game modes allowed the player to control the ball directly instead of tilting the level.



  • Create a handful of game levels, each with a starting area and an ending area. You can make the level flat, or add some 3D slopes and hills.
  • Create a sphere representing the player. (You can add a character inside the “ball,” or stick with a simple sphere)
  • There are two possible control styles. You can either apply forces to the ball directly, causing it to roll, or change the slope of the map, allowing gravity to roll the ball. You can focus on one control scheme if you prefer.
  • Create a banana collectable, and place multiple collectables in each level.
  • Add a menu and a UI with a score counter, life counter, and timer.
  • Add checks for the different win and fail conditions. The player loses a life if they run out of time or fall off of the level. The player wins when they touch the goal.

Stretch goal:

  • Make a full set of 10 or more levels. Sort the levels by difficulty, creating a sense of progression. Keep the player’s score and life counter from level to level.

You’re not the first person to attempt this challenge! Check out some completed games below!

  • Ok, you might be the first person to try this ¯\(ツ)/¯ Share your progress to start the showcase!

Don’t forget to share your progress on the community discord!

I’ll periodically update this section with community submissions. Feel free to message me if you want yours to be included. You can also open a pull request yourself to add your game, or someone else’s.